//
//  LeInput.h
//  Leste
//
//  Created by 王乐 on 2022/1/24.
//

#ifndef LeInput_hpp
#define LeInput_hpp

#include <GLFW/glfw3.h>
#include <map>

#define LE_KEY_NONE 0
#define LE_KEY_CLICKED 1
#define LE_KEY_RELEASED 2

class GLFWwindow;

class LeInput
{
public:
    LeInput();
    ~LeInput();
    
public:
    static void mouse_callback(double xpos, double ypos);
    static void scroll_callback(double xoffset, double yoffset);
    
    static int getKey(int key);
    static double getMouseX();
    static double getMouseY();
    static double getScrollXOffset();
    static double getScrollYOffset();
    static int getMouseButton(int mousebutton);
    
    static GLFWwindow *window;
private:
    static double dMouseX;
    static double dMouseY;
    static double dScrollXOffset;
    static double dScrollYOffset;

};

#endif /* LeInput_hpp */
